1. Field of the Invention
The present invention relates to an electronic device and a method for controlling the electronic device. For example, the present invention can be suitably applied to an electronic device that is capable of being connected to another device in accordance with the High-Definition Multimedia Interface (HDMI) standard.
2. Description of the Related Art
In recent years, the HDMI has become increasingly widespread as an interface for connecting electronic devices (e.g., audio-visual (AV) devices) that handle high-definition (HD) video to each other.
The HDMI is an interface that allows transmission and reception of the HD video between compatible devices by connecting the devices to each other via a cable compliant with the HDMI (this cable will be referred to also as an “HDMI cable” as appropriate). Use of the HDMI enables an HD video taken with a camcorder to be sent to a television receiver (hereinafter referred to simply as a “TV” as appropriate) via the HDMI cable so that the TV will display the HD video, for example.
The HDMI has a plurality of versions. The latest version of the HDMI has added thereto a feature of allowing the devices connected to each other via the HDMI cable to control each other. This feature is called Consumer Electronics Control (CEC). Hereinafter, to connect devices via the HDMI cable will be referred to as “to HDMI connect,” as appropriate.
Referring to FIG. 1, the CEC is a feature of allowing the HDMI-connected devices to control each other via bidirectional serial communication therebetween using a CEC line (i.e., a line that connects the HDMI-connected devices using Pin 13). The CEC line is a signal line within the HDMI cable Hc.
In the CEC, control commands transmitted and received between the devices and a specification of a control protocol are defined. Use of the CEC allows the TV to turn off power of a camcorder that is HDMI connected to the TV, or allows the camcorder to cause the TV to display a screen of the camcorder, for example.
In addition, the CEC has a function, called “Remote Control Pass Through,” of allowing a device that is HDMI connected to another device to notify the other device of an operation performed on a remote controller for the former device.
Use of the remote controller Pass Through makes it possible to operate the camcorder that is HDMI connected to the TV using a remote controller for the TV, for example.
There have been proposed a variety of remote controllers that can be used to operate a plurality of devices. Such remote controllers include remote controllers that allow a user to initiate sequential transmission of commands to a plurality of devices with a single key operation (see, for example, Japanese Patent Laid-open No. Hei 11-225381). Each manufacturer has proposed its own remote controllers. While the CEC in the HDMI has a unified specification, those remote controllers do not necessarily share a common specification. For example, some of those remote controllers are only capable of operating devices in a particular series of a particular manufacturer. In other words, each of those remote controllers is compatible with only limited types of devices.
The remote controller Pass Through of the CEC will now be described in detail below. A command (hereinafter referred to also as a “CEC command” as appropriate) called “User Control Pressed” is defined in the remote controller Pass Through. The User Control Pressed is a command for notifying another HDMI-connected device of pressing of a key on the remote controller.
For example, if the TV recognizes that any given key on the remote controller has been pressed, the TV transmits the User Control Pressed to the HDMI-connected camcorder together with a code of that key (this code will be referred to also as a “key code” as appropriate), thereby notifying the camcorder of the pressing of the key on the remote controller.
Moreover, a CEC command called “User Control Released” is defined in the remote controller Pass Through. The User Control Released is a command for notifying another HDMI-connected device of release of a key that had been held down.
For example, if the TV recognizes the release of any given key that had been held down, the TV transmits the User Control Released to the HDMI-connected camcorder, thereby notifying the camcorder of the release of the key that had been held down.
Some devices that may become a transmitter of the CEC commands (hereinafter referred to also as a “transmitter device” as appropriate) are configured to transmit the User Control Pressed's to a device that receives the CEC command (hereinafter referred to also as “a receiver device” as appropriate) successively at regular intervals (e.g., of 500 ms) while a key on the remote controller is held down, in order to indicate that the key is being held down.
If the receiver device receives the User Control Pressed's successively as a result of the holding down of the key, the receiver device normally performs the same operation as that which the receiver device would perform if the key had been pressed several times successively (this operation will be referred to also as a “repetitive operation” as appropriate).
However, depending on the instruction associated with the pressing of the key, the operation that is to be performed when the receiver device have received the User Control Pressed's successively is not an operation that is to be performed when the key has been pressed several times successively but an operation that is to be performed when the key has been pressed only once (this operation will be referred to also as a “one-shot operation” as appropriate).
Specifically, suppose that a playback control screen 1 of the camcorder is displayed on the TV as shown in FIG. 2, for example. On the playback control screen 1 are displayed: an HD video Mv played back by the camcorder; a variety of playback control buttons used to control playback of the HD video; and a cursor Cu used to select any of the playback control buttons. Examples of the playback control buttons include: a play/pause button 2, to which is assigned an instruction for starting the playback of the HD video when the HD video is not being played back and for pausing the playback of the HD video when the HD video is being played back; a previous button 3, to which is assigned an instruction for switching the HD video to be played back to an immediately previous HD video; and a next button 4, to which is assigned an instruction for switching the HD video to be played back to an immediately following (i.e., next) HD video.
In connection with this playback control screen 1, the user may use a directional key on the remote controller to select a desired one of the playback control buttons using the cursor Cu, which is movable over the screen, and thereafter press an enter key on the remote controller. In such a manner, the user is able to cause the camcorder to perform an operation (e.g., starting the playback of the HD video, pausing the playback of the HD video, switching to the immediately previous HD video, switching to the next HD video, or the like) in accordance with the instruction assigned to the selected playback control button.
Now, suppose that the enter key on the remote controller is pressed and held down in a situation where the play/pause button 2 is selected, for example. In this case, while the enter key is held down, a code of the enter key and the User Control Pressed are transmitted several times successively from the TV to the camcorder.
At this time, if the camcorder performs the repetitive operation, as when the enter key has been pressed several times successively, the camcorder will repeat a play operation and a pause operation alternately while the enter key is held down. This is not an operation intended by the user.
Therefore, in that case, i.e., in the case where the enter key on the remote controller is pressed and held down in the situation where the play/pause button 2 is selected, it is desirable that the camcorder perform a one-shot play operation or a one-shot pause operation, regardless of how long the enter key is held down until it is released.
Referring to a timing diagram of FIG. 3, suppose that the enter key on the remote controller is pressed in the situation where the play/pause button 2 is selected, so that the key code of the enter key and the User Control Pressed are transmitted from the TV to the camcorder, and that the camcorder receives the key code of the enter key and the User Control Pressed at time t1. In this case, at time t1, the camcorder recognizes that the enter key has been pressed in the situation where the play/pause button 2 is selected, and accordingly performs an operation (e.g., pausing the playback of the HD video) in accordance with the instruction (e.g., a Pause instruction) associated with the pressing of the enter key at this time, and stores the key code temporarily.
Thereafter, until receipt of the User Control Released, i.e., until recognition of release of the enter key, the camcorder continues to ignore receipt of the User Control Pressed accompanied by the same key code.
Then, the camcorder receives the User Control Released at time t2, and at this time, the camcorder recognizes that the enter key has been released, and accordingly discards the key code stored temporarily.
Thereafter, the enter key on the remote controller is pressed again, and the key code of the enter key and the User Control Pressed are transmitted to the camcorder. The camcorder receives the key code of the enter key and the User Control Pressed at time t3, and at this time, recognizes that the enter key has been pressed again, and accordingly performs an operation (i.e., starting the playback of the HD video) in accordance with the instruction (which is a Playback instruction this time) associated with the pressing of the enter key at this time, and stores the key code temporarily.
As described above, even if the enter key is pressed and held down in the situation where the play/pause button 2 is selected and, as a result, the User Control Pressed's are transmitted to the camcorder successively, the camcorder performs the one-shot operation in accordance with only the first User Control Pressed received after the pressing of the enter key, instead of performing the repetitive operation.
As described above, even if the key is pressed and held down, the camcorder, which can be the receiver device, performs not the repetitive operation but the one-shot operation in the case where the instruction associated with the pressing of the key is for an operation, such as the play/pause operation, that is to be preferably performed only once for one key pressing.
Notice here that, although CEC specifications recommend transmitting the User Control Released as a CEC command when the key pressed on the remote controller has been released, the CEC specifications do not specify that the User Control Released must be transmitted.
As such, for example, some TVs, which can be the transmitter device, are not configured to transmit the User Control Released when the key pressed on the remote controller has been released.
Referring to a timing diagram of FIG. 4, suppose that the camcorder, which is HDMI connected to any of such TVs, receives the key code of the enter key and the User Control Pressed from the TV at time t10, after the enter key on the remote controller is pressed in the situation where the play/pause button 2 is selected. In this case, at time t10, the camcorder recognizes that the enter key has been pressed in the situation where the play/pause button 2 is selected, and accordingly performs an operation (e.g., pausing the playback of the HD video) in accordance with the instruction (e.g., the Pause instruction) associated with the pressing of the enter key at this time, and stores the key code temporarily.
Thereafter, the camcorder continues to ignore the receipt of the User Control Pressed accompanied by the same key code until the receipt of the User Control Released accompanied by the same key code as that temporarily stored, i.e., until the camcorder recognizes that the enter key pressed has been released.
However, this TV does not transmit the User Control Released even if the enter key is released at time t11, for example.
Therefore, even if the enter key is released at time t11, the camcorder is unable to recognize the release of the enter key, and even if the camcorder receives the User Control Pressed accompanied by the same key code at time t12, for example, after the enter key on the remote controller is pressed again, the camcorder ignores the User Control Pressed at this time, erroneously determining that the enter key has been held down continuously since time t10.
Accordingly, the camcorder neglects to perform an operation (i.e., starting the playback of the HD video) that should be performed at time t12.
As described above, in the case where the User Control Released is not transmitted even when the enter key pressed has been released, the camcorder fails to recognize the release of the enter key, and after performing the operation in accordance with the first User Control Pressed received after the pressing of the enter key, the camcorder will not accept any operation on the enter key, even if the enter key is released or pressed again. As a result, the camcorder will not be able to operate properly in accordance with the operation on the remote controller.
As such, the CEC specifications recommend that, if the receiver device does not receive, within a predetermined period of time after receipt of the User Control Pressed, either the User Control Released or the User Control Pressed accompanied by the same key code, the receiver device should internally perform a process (which will be referred to also as a “Released process” as appropriate) that is to be performed if the receiver device receives the User Control Released. The predetermined period of time mentioned above will be hereinafter referred to as a “command waiting period” as appropriate, and is set, for example, to 500 ms, which corresponds to the length of the intervals at which the transmitter device transmits the CEC commands when transmitting them successively.
Specifically, referring to a timing diagram of FIG. 5, suppose that the enter key on the remote controller is pressed in the situation where the play/pause button 2 is selected, so that the key code of the enter key and the User Control Pressed are transmitted from the TV to the camcorder, and that the camcorder receives the key code of the enter key and the User Control Pressed at time t20. In this case, at time t20, the camcorder recognizes that the enter key has been pressed in the situation where the play/pause button 2 is selected, and accordingly performs an operation (e.g., pausing the playback of the HD video) in accordance with the instruction (e.g., the Pause instruction) associated with the pressing of the enter key at this time, and stores the key code temporarily.
Thereafter, the camcorder receives the User Control Pressed accompanied by the same key code again, at time t21, which is within a command waiting period Ct from time t20, at which the camcorder received the first User Control Pressed. At time t21, the camcorder recognizes that the enter key is still held down, and accordingly ignores the User Control Pressed.
Thereafter, the camcorder receives the User Control Pressed accompanied by the same key code several times (at times t22, t23, t24, and t25) within the command waiting period Ct from the previous receipt of the User Control Pressed (at times t21, t22, t23, and t24, respectively), but the camcorder similarly ignores the User Control Pressed each of these times.
Then, the enter key is released at time t26, previous to a time at which the User Control Pressed is to be transmitted next (i.e., 500 ms after the last transmission of the User Control Pressed). At time t26, the TV stops the transmission of the User Control Pressed. It is assumed here that the TV is a transmitter device that does not transmit the User Control Released even if the enter key is released.
Then, because the camcorder does not receive the User Control Pressed accompanied by the same key code within the command waiting period Ct from time t25, at which the camcorder received the latest User Control Pressed, the camcorder recognizes that the enter key has been released, at time t27, i.e., the command waiting period Ct after time t25.
Then, at time t27, the camcorder internally performs the Released process. That is, the camcorder discards the key code temporarily stored.
Thereafter, the enter key on the remote controller is pressed again, so that the key code of the enter key and the User Control Pressed are transmitted to the camcorder, and the camcorder receives the key code of the enter key and the User Control Pressed at time t28. At time t28, the camcorder recognizes that the enter key has been pressed again, and accordingly performs an operation (i.e., starting the playback of the HD video) in accordance with the instruction (which is the Playback instruction this time) associated with the pressing of the enter key at this time, and stores the key code temporarily.
As described above, the camcorder, which can be the receiver device, internally performs the Released process if the camcorder does not receive the User Control Pressed accompanied by the same key code again within the command waiting period Ct from the previous receipt of the User Control Pressed. Thus, even when HDMI connected to the transmitter device that does not transmit the User Control Released, the camcorder is capable of operating properly in accordance with the operation on the remote controller.
As described above, if the existing receiver device receives the User Control Pressed, which is the CEC command indicating that a key has been pressed, and then receives the User Control Pressed accompanied by the same key code again within the command waiting period Ct from the previous receipt of the User Control Pressed, the receiver device determines that the key indicated by this key code is still held down.
Here, in the case where the instruction associated with the pressing of this key is a prescribed instruction, the receiver device ignores all User Control Pressed's except the first User Control Pressed received after the pressing of the key.
Thus, even if the key is pressed and held down, so that the receiver device receives the User Control Pressed's successively, the receiver device does not perform the repetitive operation but performs the one-shot operation. Further, in the case where, after receiving the User Control Pressed, the receiver device does not receive either the User Control Released or the User Control Pressed accompanied by the same key code within the command waiting period from the receipt of the User Control Pressed, the receiver device recognizes that the key indicated by this key code has been released, and internally performs the Released process.
Thus, even when HDMI connected to the transmitter device that does not transmit the User Control Released, the receiver device is capable of operating properly in accordance with the operation on the remote controller.